home *** CD-ROM | disk | FTP | other *** search
/ Aminet 4 / Aminet 4 - November 1994.iso / aminet / dev / obero / oberon_lib.lha / oberon-a / source1.lha / source / Amiga / ConUnit.mod < prev    next >
Text File  |  1994-08-08  |  4KB  |  112 lines

  1. (***************************************************************************
  2.  
  3.      $RCSfile: ConUnit.mod $
  4.   Description: Interface to console.device
  5.  
  6.    Created by: fjc (Frank Copeland)
  7.     $Revision: 3.2 $
  8.       $Author: fjc $
  9.         $Date: 1994/08/08 01:11:35 $
  10.  
  11.   $VER: conunit.h 36.15 (20.11.90)
  12.   Includes Release 40.15
  13.  
  14.   (C) Copyright 1985-1993 Commodore-Amiga, Inc.
  15.       All Rights Reserved
  16.  
  17.   Oberon-A interface Copyright © 1994, Frank Copeland.
  18.   This file is part of the Oberon-A Interface.
  19.   See Oberon-A.doc for conditions of use and distribution.
  20.  
  21. ***************************************************************************)
  22.  
  23. MODULE ConUnit;
  24.  
  25. (*
  26. ** $C- CaseChk       $I- IndexChk  $L+ LongAdr   $N- NilChk
  27. ** $P- PortableCode  $R- RangeChk  $S- StackChk  $T- TypeChk
  28. ** $V- OvflChk       $Z- ZeroVars
  29. *)
  30.  
  31. IMPORT
  32.   E := Exec, IE := InputEvent, KM := KeyMap, G := Graphics,
  33.   I := Intuition, C := Console;
  34.  
  35.  
  36. (*
  37. **      Console device unit definitions
  38. *)
  39.  
  40. CONST
  41.  
  42. (* ---- console unit numbers for OpenDevice() *)
  43.   library    * = -1;      (* no unit, just fill in device field *)
  44.   standard   * = 0;       (* standard unmapped console *)
  45.  
  46. (* ---- New unit numbers for OpenDevice() - (V36) *)
  47.  
  48.   charMap    * = 1;       (* bind character map to console *)
  49.   snipMap    * = 3;       (* bind character map w/ snip to console *)
  50.  
  51. (* ---- New flag defines for OpenDevice() - (V37) *)
  52.  
  53.   flagDefault               * = {};
  54.   flagNodrawOnNewsize       * = {0};
  55.  
  56.  
  57.   pmbAsm         * = C.mLNM+1;       (* internal storage bit for AS flag *)
  58.   pmbAwm         * = pmbAsm+1;     (* internal storage bit for AW flag *)
  59.   maxTabs        * = 80;
  60.  
  61. TYPE
  62.  
  63.   ConUnitPtr * = CPOINTER TO ConUnit;
  64.   ConUnit * = RECORD (E.MsgPort)
  65.     (* ---- read only variables *)
  66.     window -       : I.WindowPtr; (* intuition window bound to this unit *)
  67.     xCP -          : INTEGER;     (* character position *)
  68.     yCP -          : INTEGER;
  69.     xMax -         : INTEGER;     (* max character position *)
  70.     yMax -         : INTEGER;
  71.     xRSize -       : INTEGER;     (* character raster size *)
  72.     yRSize -       : INTEGER;
  73.     xROrigin -     : INTEGER;     (* raster origin *)
  74.     yROrigin -     : INTEGER;
  75.     xRExtant -     : INTEGER;     (* raster maxima *)
  76.     yRExtant -     : INTEGER;
  77.     xMinShrink -   : INTEGER;     (* smallest area intact from resize process *)
  78.     yMinShrink -   : INTEGER;
  79.     xcCP -         : INTEGER;     (* cursor position *)
  80.     ycCP -         : INTEGER;
  81.  
  82.     (* ---- read/write variables (writes must must be protected) *)
  83.     (* ---- storage for AskKeyMap and SetKeyMap *)
  84.     keyMapStruct * : KM.KeyMap;
  85.     (* ---- tab stops *)
  86.     tabStops *     : ARRAY maxTabs OF E.UWORD;
  87.                                     (* 0 at start, 0FFFFH at end of list *)
  88.  
  89.     (* ---- console rastport attributes *)
  90.     mask *         : E.BSET;
  91.     fgPen *        : SHORTINT;
  92.     bgPen *        : SHORTINT;
  93.     aolPen *       : SHORTINT;
  94.     drawMode *     : E.BSET;
  95.     obsolete1 *    : SHORTINT;    (* was cuAreaPtSz -- not used in V36 *)
  96.     obsolete2 *    : E.APTR;      (* was cuAreaPtrn -- not used in V36 *)
  97.     minterms *     : ARRAY 8 OF E.UBYTE; (* console minterms *)
  98.     font *         : G.TextFontPtr;
  99.     algoStyle *    : E.UBYTE;
  100.     txFlags *      : E.BSET;
  101.     txHeight *     : E.UWORD;
  102.     txWidth *      : E.UWORD;
  103.     txBaseline *   : E.UWORD;
  104.     txSpacing *    : INTEGER;
  105.  
  106.     (* ---- console MODES and RAW EVENTS switches *)
  107.     modes *        : ARRAY (pmbAwm+7) DIV 8 OF E.BSET;  (* one bit per mode *)
  108.     rawEvents *    : ARRAY (IE.classMax+8) DIV 8 OF E.BSET;
  109.   END; (* ConUnit *)
  110.  
  111. END ConUnit.
  112.